home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / comuflt.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1988-11-09  |  5.1 KB  |  143 lines

  1. 10  REM COMPU-FLIGHT FLIGHT PLAN FROM 2-85 + 6-85 COMANCHE FLYER
  2. 20  REM SEE END OF PROGRAM FOR INFO (LINES 1330-)
  3. 30  KEY OFF : CLS
  4. 40  ON ERROR GOTO 1290
  5. 50  INPUT "IS PRINTER AVAILABLE (Y/N) ? ", PR$
  6. 60  IF PR$ = "Y" OR PR$ = "y" OR PR$ = "YES" OR PR$ = "yes" THEN 70 ELSE 80
  7. 70  OPEN "LPT1:" FOR OUTPUT AS #1 : GOTO 110
  8. 80  IF PR$= "N" OR PR$= "n" OR PR$= "NO" OR PR$= "no" THEN 90 ELSE 100
  9. 90  OPEN "SCRN: " FOR OUTPUT AS #1 : GOTO 110
  10. 100  BEEP : GOTO 50
  11. 110  PRINT #1, CHR$(15)
  12. 120  PRINT #1, "TO:            FROM:          DATE:            TIME OFF:"
  13. 130  INPUT "USABLE FUEL ON BOARD (GALS)?      ",GT
  14. 140  INPUT "EXTRA FUEL BURN FOR TAXI, CLIMB, APPROACH (GALS)?   ",GE
  15. 150  INPUT "CRUISE FUEL BURN (GPH)?    ",GP
  16. 160  PRINT #1, "(FUEL :";GT;"GALS USABLE LESS";GE;"EXTRA BURN,";GP;"GPH CRUISE)"
  17. 170  GT = GT-GE
  18. 180  FT = 60*GT/GP
  19. 190  REM FUEL TIME
  20. 200  REM MAIN LOOP
  21. 210  GOSUB 250: IF D=0 THEN 1050
  22. 220  GOSUB 960: IF TT=0 THEN 740
  23. 230  GOSUB 930: GOSUB 980: GOTO 200
  24. 240  IF TT=0 THEN 1270
  25. 250  REM INPUT DATA
  26. 260  LN=LN+1
  27. 270  DT=D+DT
  28. 280  TT=INT(TT+TI)
  29. 290  PRINT
  30. 300  PRINT "LEG"; LN; ":"
  31. 310  INPUT "DISTANCE (0 TO END) ?", D
  32. 320  IF D=0 THEN 1270
  33. 330  GOSUB 990
  34. 340  IF AQ THEN 350 ELSE 360
  35. 350  D=D/1.15
  36. 360  INPUT "COURSE ?", CO
  37. 370  IF CO>360 THEN 390
  38. 380  IF CO<1 THEN 390 ELSE 410
  39. 390  PRINT "WRONG !!" CHR$(7)
  40. 400  GOTO 360
  41. 410  INPUT "TRUE OR MAGNETIC (T/M) ?",CS$
  42. 420  IF CS$= "T" OR CS$= "t" OR CS$= "TRUE" OR CS$= "true" THEN 430 ELSE 450
  43. 430  TC=CO
  44. 440  GOTO 460
  45. 450  IF CS$<> "M" AND CS$<> "m" THEN 410
  46. 460  IF MD THEN 470 ELSE 490
  47. 470  INPUT "SAME VARIATION (Y/N) ?", A$
  48. 480  IF A$= "Y" OR A$= "y" OR A$= "YES" OR A$= "yes" THEN 500
  49. 490  INPUT "MAGNETIC VARIATION (+ OR -) ?", MD
  50. 500  IF CS$= "M" OR CS$="m" OR CS$= "MAG" OR CS$= "mag" THEN 510 ELSE 520
  51. 510  TC=CO-MD
  52. 520  IF TAS THEN 530 ELSE 550
  53. 530  INPUT "SAME AIRSPEED (Y/N) ?", ZA$
  54. 540  IF ZA$= "Y" OR ZA$= "y" OR ZA$= "YES" OR ZA$= "yes" THEN 590
  55. 550  INPUT "TRUE AIRSPEED ?", TAS
  56. 560  GOSUB 990
  57. 570  IF AQ THEN 580 ELSE 590
  58. 580  TAS = TAS/1.15
  59. 590  IF WS THEN 600 ELSE 620
  60. 600  INPUT "SAME WINDS (Y/N) ?",ZA$
  61. 610  IF ZA$= "Y" OR ZA$= "y" OR ZA$= "YES" OR ZA$= "yes" THEN 650 ELSE 620
  62. 620  INPUT "WIND DIRECTION ?    ",WD
  63. 630  IF WD<0 OR WD>360 THEN 620
  64. 640  INPUT "WIND SPEED  (NM) ?    ",WS
  65. 650  WA=(WD+180) /57.2958
  66. 660  COURSE=TC/57.2958
  67. 670  WR=WA-COURSE
  68. 680  WX=SIN(WR)*WS
  69. 690  WY=COS(WR)*WS
  70. 700  TX=-WX/TAS
  71. 710  TH=(ATN(TX/SQR(TX*TX+1))*57.2958)+TC
  72. 720  GS=(ABS(COS((TH-TC)/57.2958))*TAS)+WY
  73. 730  TI=60*D/GS
  74. 740  REM PROGRAM PRINTER
  75. 750  PRINT #1,CHR$(15)
  76. 760  PRINT #1, "----------------------------------------------------------------"
  77. 770  PRINT #1, "LEG";LN,,"TO _______________________________________"
  78. 780  PRINT #1, "DISTANCE (NM)", INT (D),"TO (VOR) (NDB) __________ FREQ ________"
  79. 790  PRINT #1, "TRUE COURSE", TC, "FREQ:   ATIS ___________________"
  80. 800  PRINT #1, "MAG VAR", MD, "    DEP_________________"
  81. 810  PRINT #1, "TAS",INT (TAS), "    APC _________________"
  82. 820  PRINT #1, "WIND DIR", WD, "    TOWER _______________"
  83. 830  PRINT #1, "WIND SPEED ",WS, "    GROUND _________________"
  84. 840  IF TH+MD >360 THEN 850 ELSE 870
  85. 850  TH=TH-360
  86. 860  GOTO 890
  87. 870  IF TH+MD <0 THEN 880 ELSE 890
  88. 880  TH=TH+360
  89. 890  PRINT #1, "TRUE HEADING ",INT (TH), "    UNICOM ___________________"
  90. 900  PRINT #1, "MAG HEADING", INT (TH+MD), "TPA ____________ MSL ___________ AGL"
  91. 910  PRINT #1, "GROUND SPEED", INT (GS), "TIME OF ARRIVAL ____________________ "
  92. 920  PRINT #1, "ETE (MINUTES)", INT (TI), "TIME OFF __________________________ "
  93. 930  REM OUTPUT DATA
  94. 940  GOTO 250
  95. 950  RETURN
  96. 960  REM PRINTER
  97. 970  RETURN
  98. 980  RETURN
  99. 990  REM NAUTICAL OR STATUTE
  100. 1000  AQ = 0
  101. 1010  INPUT "STATUTE OR NAUTICAL (S/N) ? ", A$
  102. 1020  IF A$ = "S" OR A$ = "s" THEN 1030 ELSE 1040
  103. 1030  AQ = 1
  104. 1040  RETURN
  105. 1050  GOSUB 960
  106. 1060  PRINT #1, "________________________________________________________ "
  107. 1070  PRINT #1, "TOTAL DISTANCE = "; INT (DT); "NAUTICAL MILES"
  108. 1080  PRINT #1, "________________________________________________________ "
  109. 1090  PRINT #1, "TOTAL TIME = "; TT; "MIN  (";INT(TT/60);"HR";TT MOD 60;"MIN)"
  110. 1100  PRINT #1, "________________________________________________________ "
  111. 1110  PRINT #1, "TOTAL FUEL BURN = ";INT(GP*TT/60)+INT(GE); "GALLONS"
  112. 1120  PRINT #1, "________________________________________________________ "
  113. 1130  IF (FT-TT >0) THEN 1140 ELSE 1180
  114. 1140  PRINT #1, "FUEL RESERVE = "; INT((FT-TT)/60); "HR";INT(FT-TT-60*INT((FT-TT)/60)); "MIN"
  115. 1150  PRINT #1, "==============================================================="
  116. 1160  PRINT #1, "REMEMBER TO CLOSE YOUR FLIGHT PLAN !!!!!!!!!!!!! "
  117. 1170  PRINT #1, "==============================================================="
  118. 1180  IF (FT-TT<45) THEN 1190 ELSE 1220
  119. 1190  PRINT #1, "==============================================================="
  120. 1200  PRINT #1, "WARNING ! LESS THAN IFR RESERVES !! "
  121. 1210  PRINT #1, "==============================================================="
  122. 1220  IF (FT-TT<0) THEN 1230 ELSE 1260
  123. 1230  PRINT #1, "==============================================================="
  124. 1240  PRINT #1, "NOT ENOUGH FUEL FOR FLIGHT BY "; INT(TT-FT); "MINUTES"
  125. 1250  PRINT #1, "==============================================================="
  126. 1260  PRINT #1, CHR$(27); CHR$(192):END 'RESET PRINTER
  127. 1270  GOSUB 1050: PRINT #1, CHR$(27); CHR$(192):END
  128. 1280  REM PUT YOUR GEAR DOWN BEFORE LANDING
  129. 1290  REM ERROR ROUTINE
  130. 1300  IF ERR=25 OR ERR=27 THEN PRINT "CHECK PRINTER"
  131. 1310  CLOSE : RESUME 40
  132. 1320  ON ERROR GOTO 0
  133. 1330  REM COPYRIGHT 1985 BY ANGELO A. SGROI ICS#5619
  134. 1340  REM FOR PROBLEMS OR QUESTIONS CALL (314) 921-1200.
  135. 1350  REM THIS PROGRAM WAS DESIGNED FOR A TI-99/4A HOME COMPUTER
  136. 1360  REM YOUR PRINTER MAY REQUIRE DIFFERENT PROGRAMMING.
  137. 1370  REM SEND SUGGESTED MODIFICATIONS TO
  138. 1380  REM 110 ALBERT DRIVE
  139. 1390  REM FLORISSANT, MISSOURI 63031
  140. 1400  REM THIS PROGRAM WAS MODIFIED FOR AN IBM/PC
  141. 1410  REM BY BILL GODDARD, ICS #1069, (813) 635-3381.
  142. 1420  REM    815 N. LAKE REEDY BLVD., FROSTPROOF, FL 33843
  143.